#ifndef HISTORYMESSAGEWIDGET_H
#define HISTORYMESSAGEWIDGET_H

#include <QDateTimeEdit>
#include <QDialog>
#include <QGridLayout>
#include <QLabel>
#include <QLineEdit>
#include <QPushButton>
#include <QRadioButton>
#include <QScrollArea>
#include <QScrollBar>
#include <QWidget>

#include "model/data.h"

////////////////////////////////////////////////////////////////////
/// 表示一个历史消息元素
////////////////////////////////////////////////////////////////////
class HistoryItem : public QWidget
{
    Q_OBJECT
  public:
    static HistoryItem *makeHistoryItem(const model::Message &message);

  private:
    HistoryItem() {}
};

////////////////////////////////////////////////////////////////////
/// 展示历史消息窗口
////////////////////////////////////////////////////////////////////
class HistoryMessageWidget : public QDialog
{
    Q_OBJECT
  public:
    HistoryMessageWidget(QWidget *parent);
    void initScrollArea(QGridLayout *layout);
    void addHistoryMessage(const model::Message &message);
    void clear();

  private:
    QWidget       *_container;
    QLineEdit     *_searchEdit;
    QRadioButton  *_keyRadioBtn;
    QRadioButton  *_timeRadioBtn;
    QDateTimeEdit *_begTimeEdit;
    QDateTimeEdit *_endTimeEdit;
};

#endif // HISTORYMESSAGEWIDGET_H
